VPN
، نظري و عملي
برقرار كردن امنيت براي يك شبكه درون يك ساختمان كار ساده اي است . اما هنگامي كه بخواهيم از نقاط دور رو ي داده هاي مشترك كار كنيم ايمني به مشكل بزرگي تبديل مي شود . در اين بخش به اصول و ساختمان يك VPN براي سرويس گيرنده هاي ويندوز و لينوكس مي پردازيم .
اصول VPN
فرستادن حجم زيادي از داده از يك كامپيوتر به كامپيوتر ديگر مثلا” در به هنگام رساني بانك اطلاعاتي يك مشكل شناخته شده و قديمي است . انجام اين كار از طريق Email به دليل محدوديت گنجايش سرويس دهنده Mail نشدني است .
استفاده از FTP هم به سرويس دهنده مربوطه و همچنين ذخيره سازي موقت روي فضاي اينترنت نياز دارد كه اصلا” قابل اطمينان نيست .
يكي از راه حل هاي اتصال مستقيم به كامپيوتر مقصد به كمك مودم است كه در اينجا هم علاوه بر مودم ، پيكر بندي كامپيوتر به عنوان سرويس دهنده RAS لازم خواهد بود . از اين گذشته ، هزينه ارتباط تلفني راه دور براي مودم هم قابل تامل است . اما اگر دو كامپيوتر در دو جاي مختلف به اينترنت متصل باشند مي توان از طريق سرويس به اشتراك گذاري فايل در ويندوز بسادگي فايل ها را رد و بدل كرد . در اين حالت ، كاربران مي توانند به سخت ديسك كامپيوترهاي ديگر همچون سخت ديسك كامپيوتر خود دسترسي داشته باشند . به اين ترتيب بسياري از راه هاي خرابكاري براي نفوذ كنندگان بسته مي شود .
شبكه هاي شخصي مجاري يا VPN ( Virtual private Network ) ها اينگونه مشكلات را حل مي كند . VPN به كمك رمز گذاري روي داده ها ، درون يك شبكه كوچك مي سازد و تنها كسي كه آدرس هاي لازم و رمز عبور را در اختيار داشته باشد مي تواند به اين شبكه وارد شود . مديران شبكه اي كه بيش از اندازه وسواس داشته و محتاط هستند مي توانند VPN را حتي روي شبكه محلي هم پياده كنند . اگر چه نفوذ كنندگان مي توانند به كمك برنامه هاي Packet sniffer جريان داده ها را دنبال كنند اما بدون داشتن كليد رمز نمي توانند آنها را بخوانند .
-4.1.1 VPN چيست ؟
VPN دو كامپيوتر يا دو شبكه را به كمك يك شبكه ديگر كه به عنوان مسير انتقال به كار مي گيرد به هم متصل مي كند . براي نمونه مي توان ب دو كامپيوتر يكي در تهران و ديگري در مشهد كه در فضاي اينترنت به يك شبكه وصل شده اند اشاره كرد . VPN از نگاه كاربر كاملا” مانند يك شبكه محلي به نظر مي رسد . براي پياده سازي چنين چيزي ، VPN به هر كاربر يك ارتباط IP مجازي مي دهد .
داده هايي كه روي اين ارتباط آمد و شد دارند را سرويس گيرنده نخست به رمز در آورده و در قالب بسته ها بسته بندي كرده و به سوي سرويس دهنده VPN مي فرستد . اگر بستر اين انتقال اينترنت باشد بسته ها همان بسته هاي IP خواهند بود .
سرويس گيرنده VPN بسته ها را پس از دريافت رمز گشايي كرده و پردازش لازم را روي آن انجام مي دهد . در آدرس http://www.WOWN.COMW-baetengifanivpnani.gif شكل بسيار جالبي وجود دارد كه چگونگي اين كار را نشان مي دهد . روشي كه شرح داده شد را اغلب Tunneling يا تونل زني مي نامند چون داده ها براي رسيدن به كامپيوتر مقصد از چيزي مانند تونل مي گذرند . براي پياده سازي VPN راه هاي گوناگوني وجود دارد كه پر كاربرد ترين آنها عبارتند از
Point to point Tunneling protocol يا PPTP كه براي انتقال NetBEUI روي يك شبكه بر پايه IP مناسب است .
Layer 2 Tunneling protocol يا L2TP كه براي انتقال IP ، IPX يا NetBEUI روي هر رسانه دلخواه كه توان انتقال Datagram هاي نقطه به نقطه ( Point to point ) را داشته باشد مناسب است . براي نمونه مي توان به IP ، X.25 ، Frame Relay يا ATM اشاره كرد .
IP Security protocol يا Ipsec كه براي انتقال داده هاي IP روي يك شبكه بر پايه IP مناسب است .
-4.1.2 پروتكل هاي درون تونل
Tunneling را مي توان روي دو لايه از لايه هاي OSI پياده كرد . PPTP و L2TP از لايه 2 يعني پيوند داده استفاده كرده و داده ها را در قالب Frame هاي پروتكل نقطه به نقطه ( PPP ) بسته بندي مي كنند . در اين حالت مي توان از ويژگي هاي PPP همچون تعيين اعتبار كاربر ، تخصيص آدرس پويا ( مانند DHCP ) ، فشرده سازي داده ها يا رمز گذاري داده ها بهره برد.
با توجه به اهميت ايمني انتقال داده ها درVPN ، دراين ميان تعيين اعتبار كاربر نقش بسيار مهمي دارد . براي اين كار معمولا” از CHAP استفاده مي شود كه مشخصات كاربر را در اين حالت رمز گذاري شده جابه جا ميكند . Call back هم دسترسي به سطح بعدي ايمني را ممكن مي سازد . در اين روش پس از تعيين اعتبار موفقيت آميز ، ارتباط قطع مي شود . سپس سرويس دهنده براي برقرار كردن ارتباط جهت انتقال داده ها شماره گيري مي كند . هنگام انتقال داده ها ، Packet هاي IP ، IP X يا NetBEUI در قالب Frame هاي PPP بسته بندي شده و فرستاده مي شوند . PPTP هم Frame هاي PPP را پيش از ارسال روي شبكه بر پايه IP به سوي كامپيوتر مقصد ، در قالب Packet هاي IP بسته بندي مي كند . اين پروتكل در سال 1996 از سوي شركت هايي چون مايكرو سافت ، Ascend ، 3 com و Robotics US پايه گذاري شد . محدوديت PPTP در كار تنها روي شبكه هاي IP باعث ظهور ايده اي در سال 1998 شد .L2TP روي X.25 ،Frame Relay يا ATM هم كار مي كند . برتري L2TP در برابر PPTP اين است كه به طور مستقيم روي رسانه هاي گوناگون WAN قابل انتقال است .
4.1.3 - VPN-Ipsec فقط براي اينترنت
Ipsec برخلافPPTP و L2TP روي لايه شبكه يعني لايه سوم كار مي كند . اين پروتكل داده هايي كه بايد فرستاده شود را همراه با همه اطلاعات جانبي مانند گيرنده و پيغام هاي وضعيت رمز گذاري كرده و به آن يك IP Header معمولي اضافه كرده و به آن سوي تونل مي فرستد .
كامپيوتري كه در آن سو قرار دارد IP Header را جدا كرده ، داده ها را رمز گشايي كرده و آن را به كامپيوتر مقصد مي فرستد .Ipsec را مي توان با دو شيوه Tunneling پيكر بندي كرد . در اين شيوه انتخاب اختياري تونل ، سرويس گيرنده نخست يك ارتباط معمولي با اينترنت برقرار مي كند و سپس از اين مسير براي ايجاد اتصال مجازي به كامپيوتر مقصد استفاده مي كند . براي اين منظور ، بايد روي كامپيوتر سرويس گيرنده پروتكل تونل نصب شده باشد . معمولا” كاربر اينترنت است كه به اينترنت وصل مي شود . اما كامپيوترهاي درون LAN هم مي توانند يك ارتباط VPN برقرا كنند . از آنجا كه ارتباط IP از پيش موجود است تنها برقرار كردن ارتباط VPN كافي است . در شيوه تونل اجباري ، سرويس گيرنده نبايد تونل را ايجاد كند بلكه اين كار ار به عهده فراهم ساز (Service provider ) است . سرويس گيرنده تنها بايد به ISP وصل شود . تونل به طور خودكار از فراهم ساز تا ايستگاه مقصد وجود دارد . البته براي اين كار بايد همانگي هاي لازم با ISP انجام بگيرد .ٍ
ويژگي هاي امنيتي در IPsec
Ipsec از طريق Authentication Header ( AH ) مطمئن مي شود كه Packet هاي دريافتي از سوي فرستنده واقعي ( و نه از سوي يك نفوذ كننده كه قصد رخنه دارد ) رسيده و محتويات شان تغيير نكرده . AH اطلاعات مربوط به تعيين اعتبار و يك شماره توالي (Seguence Number ) در خود دارد تا از حملات Replay جلوگيري كند . اما AH رمز گذاري نمي شود . رمز گذاري از طريق Encapsulation Security Header يا ESH انجام مي گيرد . در اين شيوه داده هاي اصلي رمز گذاري شده و VPN اطلاعاتي را از طريق ESH ارسال مي كند .
ESH همچنين كاركرد هايي براي تعيين اعتبار و خطايابي دارد . به اين ترتيب ديگر به AH نيازي نيست . براي رمز گذاري و تعيين اعتبار روش مشخص و ثابتي وجود ندارد اما با اين همه ، IETF براي حفظ سازگاري ميان محصولات مختلف ، الگوريتم هاي اجباري براي پياده سازي Ipsec تدارك ديده . براي نمونه مي توان به MD5 ، DES يا Secure Hash Algorithm اشاره كرد . مهمترين استانداردها و روش هايي كه در Ipsec به كار مي روند عبارتند از :
• Diffie-Hellman براي مبادله كليد ها ميان ايستگاه هاي دو سر ارتباط .
• رمز گذاري Public Key براي ثبت و اطمينان از كليدهاي مبادله شده و همچنين اطمينان از هويت ايستگاه هاي سهيم در ارتباط .
• الگوريتم هاي رمز گذاري مانند DES براي اطمينان از درستي داده هاي انتقالي .
• الگوريتم هاي درهم ريزي ( Hash ) براي تعيين اعتبار تك تك Packet ها .
• امضاهاي ديجيتال براي تعيين اعتبارهاي ديجيتالي .
4.1.5 - Ipsec بدون تونل
Ipsec در مقايسه با ديگر روش ها يك برتري ديگر هم دارد و آن اينست كه مي تواند همچون يك پروتكل انتقال معمولي به كار برود .
در اين حالت برخلاف حالت Tunneling همه IP packet رمز گذاري و دوباره بسته بندي نمي شود . بجاي آن ، تنها داده هاي اصلي رمزگذاري مي شوند و Header همراه با آدرس هاي فرستنده و گيرنده باقي مي ماند . اين باعث مي شود كه داده هاي سرباز ( Overhead ) كمتري جابجا شوند و بخشي از پهناي باند آزاد شود . اما روشن است كه در اين وضعيت ، خرابكاران مي توانند به مبدا و مقصد داده ها پي ببرند . از آنجا كه در مدل OSI داده ها از لايه 3 به بالا رمز گذاري مي شوند خرابكاران متوجه نمي شوند كه اين داده ها به ارتباط با سرويس دهنده Mail مربوط مي شود يا به چيز ديگر .
4.1.6 – جريان يك ارتباط Ipsec
بيش از آن كه دو كامپيوتر بتوانند از طريق Ipsec داده ها را ميان خود جابجا كنند بايد يكسري كارها انجام شود .
• نخست بايد ايمني برقرار شود . براي اين منظور ، كامپيوترها براي يكديگر مشخص مي كنند كه آيا رمز گذاري ، تعيين اعتبار و تشخيص خطا يا هر سه آنها بايد انجام بگيرد يا نه .
• سپس الگوريتم را مشخص مي كنند ، مثلا” DEC براي رمزگذاري و MD5 براي خطايابي.
• در گام بعدي ، كليدها را ميان خود مبادله مي كنند .
Ipsec براي حفظ ايمني ارتباط از Security Association (SA ) استفاده مي كند . SA چگونگي ارتباط ميان دو يا چند ايستگاه و سرويس هاي ايمني را مشخص مي كند . SA ها از سوي SPI ( Security parameter Index ) شناسايي مي شوند . SPI از يك عدد تصادفي و آدرس مقصد تشكيل مي شود . اين به آن معني است كه همواره ميان دو كامپيوتر دو SPI وجود دارد :
يكي براي ارتباط A و B و يكي براي ارتباط B به A . اگر يكي از كامپيوترها بخواهد در حالت محافظت شده داده ها را منتقل كند نخست شيوه رمز گذاري مورد توافق با كامپيوتر ديگر را بررسي كرده و آن شيوه را روي داده ها اعمال مي كند . سپس SPI را در Header نوشته و Packet را به سوي مقصد مي فرستد .
4.1.7 - مديريت كليدهاي رمز در Ipsec
اگر چه Ipsec فرض را بر اين مي گذارد كه توافقي براي ايمني داده ها وجود دارد اما خودش براي ايجاد اين توافق نمي تواند كاري انجام بدهد .
Ipsec در اين كار به IKE ( Internet Key Exchange ) تكيه مي كند كه كاركردي همچون IKMP ( Key Management Protocol ) دارد. براي ايجاد SA هر دو كامپيوتر بايد نخست تعيين اعتبار شوند . در حال حاضر براي اين كار از راه هاي زير استفاده مي شود :
• Pre shared keys : روي هر دو كامپيوتر يك كليد نصب مي شود كه IKE از روي آن يك عدد Hash ساخته و آن را به سوي كامپيوتر مقصد مي فرستد . اگر هر دو كامپيوتر بتوانند اين عدد را بسازند پس هر دو اين كليد دارند و به اين ترتيب تعيين هويت انجام مي گيرد .
• رمز گذاري Public Key : هر كامپيوتر يك عدد تصادفي ساخته و پس از رمز گذاري آن با كليد عمومي كامپيوتر مقابل ، آن را به كامپيوتر مقابل مي فرستد .اگر كامپيوتر مقابل بتواند با كليد شخصي خود اين عدد را رمز گشايي كرده و باز پس بفرستد برا ي ارتباط مجاز است . در حال حاضر تنها از روش RSA براي اين كار پيشنهاد مي شود .
• امضاء ديجيتال : در اين شيوه ، هر كامپيوتر يك رشته داده را علامت گذاري ( امضاء ) كرده و به كامپيوتر مقصد مي فرستد . در حال حاضر براي اين كار از روش هاي RSA و DSS ( Digital Singature Standard ) استفاده مي شود . براي امنيت بخشيدن به تبادل داده ها بايد هر دو سر ارتبا طنخست بر سر يك يك كليد به توافق مي رسند كه براي تبادل داده ها به كار مي رود . برا ي اين منظور مي توان همان كليد به دست آمده از طريق Diffie Hellman را به كاربرد كه سريع تر است يا يك كليد ديگر ساخت كه مطمئن تر است .
4.1.8 – خلاصه
تبادل داده ها روي اينرنت چندان ايمن نيست . تقريبا” هر كسي كه در جاي مناسب قرار داشته باشد مي تواند جريان داده ها را زير نظر گرفته و از آنها سوء استفاده كند . شبكه هاي شخصي مجازي يا VPN ها كار نفوذ را برا ي خرابكاران خيلي سخت مي كند .
|